home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagn_r.zip / NUMBERS.SWG / 0047_RIP.pas < prev    next >
Pascal/Delphi Source File  |  1994-05-25  |  1KB  |  67 lines

  1. {
  2.  AE> numbersystem... When you want to create something in RIP you
  3.  AE> first need to write some calculator to translate normal numbers
  4.  AE> to RIP codes...
  5.  
  6. It's not that difficult, you know how to convert hex -> normal and
  7. normal -> hex? Well, then you also can convert mega -> normal and normal
  8. -> mega
  9.  
  10. little idea:
  11. }
  12.  
  13. function word2mega(w:word):string;
  14. const    table:array[0..35] of char='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  15. var      s:string;
  16. begin
  17.   s:='';
  18.   while w>0 do
  19.   begin
  20.     s:=table[w mod 36]+s;
  21.     w:=w div 36;
  22.   end;
  23.   while length(s)<4 do s:='0'+s;
  24.   word2mega:=s;
  25. end;
  26.  
  27. function mega2word(s:string):word;
  28. var      w:word;
  29. begin
  30.   w:=0;
  31.   if length(s)<5 then
  32.     while s<>'' do
  33.     begin
  34.       if s[1]>'9' then
  35.         w:=w*36+ord(s[1])-ord('A')+10
  36.       else
  37.         w:=w*36+ord(s[1])-ord('0');
  38.       delete(s,1,1);
  39.     end;
  40.   mega2word:=w;
  41. end;
  42.  
  43.  
  44. var    n:word;
  45.         s:string;
  46. begin
  47.   s:=paramstr(1);
  48.   for n:=1 to length(s) do
  49.     s[n]:=upcase(s[n]);
  50.   writeln('mega2word: ',mega2word(s));
  51.   val(s,n,n);
  52.   writeln('word2mega: ',word2mega(n));
  53. end.
  54.  
  55. converts a meganum to a word and a word to a meganum in one program!
  56. (Just one program so I don't have to think in which way it has to be
  57. converted)
  58.  
  59. mega 12<cr> gives
  60. mega2word: 38
  61. word2mega: 0C
  62.  
  63. mega 1C<cr> gives
  64. mega2word: 48
  65. word2mega: 00
  66.  
  67.